/**
 * @author Eliana - Matias
 */

$(document).ready(cargar_xml());


function cargar_xml(){
	cargar_selects();
	
	$.get("xml/propiedadesXML.xml", function(xml){
		$(xml).find("propiedad").each(function() {
			agregar_datos(this);
		 });
	});
}

function cargar_selects(){
	var html;
	var option;
	var value;
	
	$.get("xml/categoriasXML.xml", function(xml){
		$(xml).find("categoria").each(function() {
			option = $(this).find('nombre_categoria').text();
			value = $(this).find('id_categoria').text();
			html = '<option value="'+value+'">'+option+'</option>';
			$('#s_categoria').append($(html));
		 });
	
	});
	
	$.get("xml/operacionesXML.xml", function(xml){
		$(xml).find("operacion").each(function () {
			option = $(this).find('nombre_operacion').text();
			value = $(this).find('id_operacion').text();
			html = '<option value="'+value+'">'+option+'</option>';
			$('#s_operacion').append($(html));
		 });
	});
	
	
}



function reset(){
	borrar_propiedades();
	$('#s_direccion').val('');
	$('select#s_categoria').val('todos');
	$('select#s_operacion').val('todos');
	$('select#s_precio').val('todos');
	$('select#s_dormitorios').val('todos');
	$('select#s_antiguedad').val('todos');
	
	$.get("xml/propiedadesXML.xml", function(xml){
		$(xml).find("propiedad").each(function() {
			agregar_datos(this);
		 });
	
	});
}

function filtrar3(){
	// obtención de los valores que se encuentran seleccionados en los combobox
	var c_categoria = $('select#s_categoria').val();
	var c_operacion = $('select#s_operacion').val();
	var c_precio = $('select#s_precio').val();
	var c_direccion = $('#s_direccion').val().toLowerCase();
	
	var c_dormitorios = $('select#s_dormitorios').val();
	var c_antiguedad = $('select#s_antiguedad').val();
	
	// parsing de a entero o flotante si es que el string leido es un nro (usando operación ternaria)
	c_precio = ((c_precio=="todos")||(c_precio=="+"))? c_precio : parseFloat(c_precio);
	c_dormitorios = ((c_dormitorios=="todos")||(c_dormitorios=="+"))? c_dormitorios : parseInt(c_dormitorios);
	c_antiguedad = ((c_antiguedad=="todos")||(c_antiguedad=="+"))? c_antiguedad : parseInt(c_antiguedad);
	
	
	borrar_propiedades();
	
	$.get("xml/propiedadesXML.xml", function(xml){
		$(xml).find("propiedad").each(function () {
		
			var categoria_actual = $(this).find('id_categoria').text();
			var operacion_actual = $(this).find('id_operacion').text();
			var precio_actual = parseFloat($(this).find('precio').text());
			var direccion_actual = $(this).find('direccion').text().toLowerCase();
			var dormitorios_actual = parseFloat($(this).find('dormitorios').text());
			var antiguedad_actual = parseFloat($(this).find('antiguedad').text());
			
			var patron=new RegExp(c_direccion,'gi');
			var dir_coincide = direccion_actual.match(patron) != null;
			
			var condicion = true;
			
			condicion = condicion && (c_categoria=='todos' || c_categoria == categoria_actual);
			condicion = condicion && (c_operacion=='todos' || c_operacion == operacion_actual);
			condicion = condicion && (c_operacion=='todos' || c_operacion == operacion_actual);
			condicion = condicion && ( (c_dormitorios== 'todos') || ((c_dormitorios=='+')&&(dormitorios_actual>5)) || (c_dormitorios== dormitorios_actual));
			condicion = condicion && (c_direccion=='' || dir_coincide );
			condicion = condicion && ((c_precio=='todos') || ((c_precio=='+')&&(precio_actual>100000)) || (c_precio>precio_actual));
			condicion = condicion && ((c_antiguedad=='todos') || ((c_antiguedad=='+')&&(antiguedad_actual>30)) || (c_antiguedad>=antiguedad_actual));
			
			if(condicion){
				agregar_datos(this);
			}
		});
	});

	var cant_rtdos = $('#propiedades').children().length;
	if(cant_rtdos==0){
		$('#propiedades').append('<h3>Su búsqueda no produjo resultados</h3>');
	}
}

function borrar_propiedades(){
	$('#propiedades').children().each(function(){
		$(this).remove();
	});
}


function load_xml_jq(path){
	var xml_ret;
	$.ajaxSetup({async: false});
	$.get("xml/"+path, function(xml){
		xml_ret = xml;
	});
	return xml_ret;
}

function agregar_datos(nodo_actual){
	// obtener los datos del xml
			var id = $(nodo_actual).find('id_propiedad').text();
			var id_cat = $(nodo_actual).find('id_categoria').text();
			var id_op = $(nodo_actual).find('id_operacion').text();
			var precio = $(nodo_actual).find('precio').text();
			var dir = $(nodo_actual).find('direccion').text();
			var dorms = $(nodo_actual).find('dormitorios').text();
			var antig = $(nodo_actual).find('antiguedad').text();
			var descr = $(nodo_actual).find('descripcion').text();
			
			var img_url = $(nodo_actual).find('path').first().text();
			var img_alt =  $(nodo_actual).find('alt').first().text();
			var img_nbre =  $(nodo_actual).find('nombre').first().text();
			
			var xml;
			
			xml = load_xml_jq('categoriasXML.xml'); // búsqueda de la categoria con el id de la propiedad
			$(xml).find("categoria").each(function() {
				var id_actual = $(this).find('id_categoria').text();
				if(id_actual==id_cat){
					id_cat = $(this).find('nombre_categoria').text();
					return;
				}
			});
			
			xml = load_xml_jq('operacionesXML.xml'); // búsqueda de la operación con el id de la propiedad
			$(xml).find("operacion").each(function() {
				var id_actual = $(this).find('id_operacion').text();
				if(id_actual==id_op){
					id_op = $(this).find('nombre_operacion').text();
					return;
				}
			});
			
			// creacion de los nodos
			var html;
			html ='<div class="bloquecito">';
			html += '<p class="id_operacion">'+id_op+'</p>';
			html += '<div class="imagen">'
				html +='<img class="img-polaroid" src="'+img_url+'" alt="'+img_alt+'"></img>'
				html += '<p class="precio">$'+precio+'</p>';
			html += '</div>'
			html +='<ul class="datos_prop">';
			html += '<li><span class="resaltar">Id:</span> '+id+'</li>';
			html += '<li><span class="resaltar">Categoría:</span> '+id_cat+'</li>';
			html += '<li><span class="resaltar">Dirección:</span> '+dir+'</li>';
			html += '<li><span class="resaltar">Dormitorios:</span> '+dorms+'</li>';
			html += '<li><span class="resaltar">Antigüedad:</span> '+antig+'</li>';
			html += '</ul>';
			html += '<a href="propiedad.html?id_propiedad='+id+'&anterior=propiedades">';
			html +='<button class="btn info" type="button"><i class="icon-plus"></i> info</button>';
			html +='</a>';
			html +='</div>';
			
			// agregar los nodos al html (en el div con id 'propiedades')
			$('#propiedades').append($(html));
}



